import axios from 'axios';
import { ElMessage } from 'element-plus';

// 创建一个 Axios 实例，并设置公共前缀
const request = axios.create({
    // baseURL: 'http://fsdapi.kfcit.com', // 设置公共前缀
    baseURL: import.meta.env.VITE_APP_BASE_API,
    timeout: 10000, // 设置请求超时时间
});

// 添加请求拦截器
request.interceptors.request.use(
    (config) => {
        // 可以在请求发送之前做一些处理，比如添加 token 等
        // const token = localStorage.getItem('token');
        // if (token) {
        //     config.headers['Authorization'] = `Bearer ${token}`;
        // }
        return config;
    },
    (error) => {
        // 处理请求错误
        return Promise.reject(error);
    }
);

// 添加响应拦截器
request.interceptors.response.use(
    (response) => {
        // 处理响应数据
        return response.data; // 返回响应数据
    },
    (error) => {
        // 处理响应错误
        if (error.response) {
            // 请求已发出，服务器以状态码进行响应
            ElMessage.error(`响应错误: ${error.response.data.message || '未知错误'}`);
        } else {
            // 发送请求时发生错误
            ElMessage.error('请求失败，请检查网络连接！');
        }
        return Promise.reject(error);
    }
);

export default request;